home *** CD-ROM | disk | FTP | other *** search
Wrap
class FlashPaper.ToolbarView { var m_mainView; var m_toolbarMC; var m_margin; var m_mainMC; static var TOOLBAR_MARGIN = 3; static var TOOLBAR_HEIGHT = 31; static var TOOLBAR_SPACING = 3; static var SLIDER_MIN = 25; static var SLIDER_MAX = 250; static var SLIDER_SNAP_VALUES = [100]; static var SLIDER_SNAP_THRESHOLD = 8; static var ICON_PREV_PAGE = "iconPrevPage"; static var ICON_NEXT_PAGE = "iconNextPage"; static var ICON_FIT_WIDTH = "iconFitWidth"; static var ICON_FIT_PAGE = "iconFitPage"; static var ICON_ZOOM_IN = "iconZoomIn"; static var ICON_ZOOM_OUT = "iconZoomOut"; static var ICON_PRINT = "iconPrint"; static var TOOLBAR_ORDER = ["panTool_mc","selectTool_mc","divideTools_mc","find_mc","divideZoom_mc","zoom_sld","currZoom_mc","fitPage_mc","fitWidth_mc","dividePager_mc","currPg_mc","numPgs_txt","prevNext_mc","dividePrint_mc","print_mc","popup_mc","hiddenToolsBtn_mc"]; static var TOOLBAR_PRIORITY = ["prevNext_mc","fitWidth_mc","fitPage_mc","numPgs_txt","currPg_mc","dividePager_mc","divideZoom_mc","divideTools_mc","currZoom_mc","zoom_sld","print_mc","panTool_mc","selectTool_mc","dividePrint_mc","find_mc"]; function ToolbarView(parentView_o, main_mc, popupEnabled) { var _loc1_ = this; _loc1_.m_mainMC = main_mc; _loc1_.m_toolbarMC = main_mc.toolbar_mc; _loc1_.m_mainView = parentView_o; _loc1_.m_margin = FlashPaper.ToolbarView.TOOLBAR_MARGIN; _loc1_.m_popupEnabled = popupEnabled; _loc1_.m_controlsHidden = new Array(); _loc1_.m_toolbarMC.brandClip_mc.gotoLink_btn.tabEnabled = false; var _loc2_ = _loc1_.m_toolbarMC.controls_mc; if(_loc1_.m_mainView.getIsHandheld()) { _loc1_.m_popupEnabled = false; } _loc2_.print_mc.setEnabled(false); _loc2_.currPg_mc.currPg_txt.restrict = "0-9"; _loc2_.currZoom_mc.currZoom_txt.restrict = "0-9%"; _loc2_.find_mc.find_txt.restrict = "^\x01-\x1f"; var hiddenTools = _loc1_.m_mainMC.hiddenToolsList_mc; hiddenTools.setButton(_loc2_.hiddenToolsBtn_mc); hiddenTools.setController(_loc1_.m_mainView); hiddenTools.setCursorManager(_loc1_.m_mainView); var _loc3_ = _loc2_.zoom_sld; _loc3_.setSliderProperties(FlashPaper.ToolbarView.SLIDER_MIN,FlashPaper.ToolbarView.SLIDER_MAX); _loc3_.setSnapThreshold(FlashPaper.ToolbarView.SLIDER_SNAP_THRESHOLD); _loc3_.setZoomKeyController(_loc1_.m_mainView); _loc1_.updateSliderSnapValues(_loc3_); if(_loc1_.m_toolbarMC.toolbarBg_mc._height != FlashPaper.ToolbarView.TOOLBAR_HEIGHT) { var toolbarScale_i = FlashPaper.ToolbarView.TOOLBAR_HEIGHT / _loc1_.m_toolbarMC.toolbarBg_mc._height * 100; _loc1_.m_toolbarMC.toolbarBg_mc._yscale = toolbarScale_i; _loc2_._yscale = _loc2_._xscale = toolbarScale_i; _loc1_.m_toolbarMC.brandClip_mc._xscale = _loc1_.m_toolbarMC.brandClip_mc._yscale = toolbarScale_i; } if(!_loc1_.m_popupEnabled) { _loc2_.popup_mc._visible = false; } _loc1_.m_toolbarMC.toolbarBg_mc._yscale = 100; _loc1_.m_toolbarMC.toolbarBg_mc._xscale = 100; _loc1_.onResize(); _loc1_.m_mainView.addListener(_loc1_); } function updateSliderSnapValues(zoom_sld) { var _loc1_ = FlashPaper.ToolbarView.SLIDER_SNAP_VALUES; _loc1_.unshift(this.m_mainView.getPageFitScale(),this.m_mainView.getPageWidthScale()); zoom_sld.setSnapValues(_loc1_); } function internal_onAddPage(width_i, height_i) { var _loc2_ = this.m_toolbarMC.controls_mc; var _loc1_ = this.m_mainView.getNumPages(); _loc2_.numPgs_txt.text = "/" + _loc1_; } function getHeight() { return this.m_toolbarMC.toolbarBg_mc._height; } function onResize() { var _loc1_ = this; var _loc2_ = _loc1_.m_toolbarMC.controls_mc; var smallTextFormat = new TextFormat(FlashPaper.Utils.UIFONT,FlashPaper.Utils.UISMALLFONTSIZE,0); _loc2_.numPgs_txt.setNewTextFormat(smallTextFormat); _loc2_.currPg_mc.currPg_txt.setNewTextFormat(smallTextFormat); _loc2_.currZoom_mc.currZoom_txt.setNewTextFormat(smallTextFormat); var find_mc = _loc2_.find_mc; find_mc.find_txt.setNewTextFormat(smallTextFormat); var toolbarBg_mc = _loc1_.m_toolbarMC.toolbarBg_mc; toolbarBg_mc.middle_mc._width = _loc1_.m_mainView.getWidth(); toolbarBg_mc.right_mc._x = _loc1_.m_mainView.getWidth() - toolbarBg_mc.right_mc._width; var _loc3_ = 0; while(_loc3_ < FlashPaper.ToolbarView.TOOLBAR_ORDER.length) { var s = FlashPaper.ToolbarView.TOOLBAR_ORDER[_loc3_]; _loc2_[FlashPaper.ToolbarView.TOOLBAR_ORDER[_loc3_]]._visible = true; _loc3_ = _loc3_ + 1; } _loc2_.hiddenToolsBtn_mc._visible = false; var hh = _loc1_.m_mainView.getIsHandheld(); if(!_loc1_.m_popupEnabled || hh) { _loc2_.popup_mc._visible = false; } if(hh) { _loc2_.print_mc._visible = false; _loc2_.dividePrint_mc._visible = false; } if(_loc1_.m_toolbarMC.getTextSnapshot == null) { _loc2_.panTool_mc._visible = false; _loc2_.selectTool_mc._visible = false; _loc2_.divideTools_mc._visible = false; _loc2_.find_mc._visible = false; _loc2_.divideZoom_mc._visible = false; } var np = _loc1_.m_mainView.getNumberOfPages(); if(np <= 1) { _loc2_.dividePager_mc._visible = false; _loc2_.currPg_mc._visible = false; _loc2_.numPgs_txt._visible = false; _loc2_.prevNext_mc._visible = false; _loc2_.dividePager_mc._x = 0; _loc2_.currPg_mc._x = 0; _loc2_.numPgs_txt._x = 0; _loc2_.prevNext_mc._x = 0; } var ctrlsWidth = _loc1_.stackItems(); var brandClip_mc = _loc1_.m_toolbarMC.brandClip_mc; var availWidth = _loc1_.m_mainView.getWidth() - (brandClip_mc._x + brandClip_mc._width) - _loc1_.m_margin; var removeIdx = 0; var removeItem = true; var numControlsRemoved = 0; do { var s = FlashPaper.ToolbarView.TOOLBAR_PRIORITY[removeIdx]; var remove_mc = _loc2_[s]; if(remove_mc != undefined && ctrlsWidth > availWidth) { if(remove_mc._visible) { remove_mc._visible = false; if(!_loc2_.hiddenToolsBtn_mc.fp_hidden) { _loc2_.hiddenToolsBtn_mc._visible = true; } ctrlsWidth = _loc1_.stackItems(); numControlsRemoved++; if(numControlsRemoved > _loc1_.m_controlsHidden.length) { _loc1_.addToHiddenList(s); _loc1_.m_controlsHidden.push(s); } } } else { removeItem = false; } removeIdx++; } while(removeItem == true); while(numControlsRemoved < _loc1_.m_controlsHidden.length) { _loc1_.removeFromHiddenList(_loc1_.m_controlsHidden[_loc1_.m_controlsHidden.length - 1]); _loc1_.m_controlsHidden.pop(); } var zoom_sld = _loc2_.zoom_sld; _loc1_.updateSliderSnapValues(zoom_sld); var hiddenTools = _loc1_.m_mainMC.hiddenToolsList_mc; hiddenTools.setListVisible(false); } function stackItems() { var ctrls = this.m_toolbarMC.controls_mc; var stackWidth_i = 0; var xPos_i = ctrls._width; var _loc2_ = FlashPaper.ToolbarView.TOOLBAR_ORDER.length - 1; while(_loc2_ >= 0) { var _loc3_ = FlashPaper.ToolbarView.TOOLBAR_ORDER[_loc2_]; var _loc1_ = ctrls[_loc3_]; if(_loc1_._visible && !_loc1_.fp_hidden) { xPos_i -= _loc1_._width; _loc1_._x = Math.round(xPos_i); var spacing = _loc3_ != "numPgs_txt" ? FlashPaper.ToolbarView.TOOLBAR_SPACING : 1; xPos_i -= spacing; stackWidth_i += _loc1_._width + spacing; } else { _loc1_._visible = false; _loc1_._x = 0; } _loc2_ = _loc2_ - 1; } ctrls._x = Math.round(this.m_mainView.getWidth() - ctrls._width - this.m_margin); return stackWidth_i; } function internal_onZoom(percent) { var _loc1_ = this.m_toolbarMC.controls_mc; var _loc3_ = this.m_mainView.getViewMode(); _loc1_.fitPage_mc.setActive(_loc3_ == "page"); _loc1_.fitWidth_mc.setActive(_loc3_ == "width"); _loc1_.currZoom_mc.currZoom_txt.text = Math.round(percent) + "%"; var _loc2_ = _loc1_.zoom_sld; _loc2_.setChangeHandler(null); _loc2_.setValue(percent); _loc2_.setChangeHandler("zoomSelect",this); } function zoomSelect(sld) { var _loc2_ = this.m_mainView.getIsHandheld(); var _loc1_ = sld.getFocused(); if(!_loc2_ && _loc1_ || _loc2_ && !_loc1_) { var _loc3_ = parseInt(sld.getValue()); if(!isNaN(_loc3_)) { this.m_mainView.setCurrentZoom(_loc3_); } } } function internal_onScroll() { var _loc2_ = this; var pageNum_i = _loc2_.m_mainView.getScrolledPage(); _loc2_.m_mainView.updateCurrentPage(pageNum_i); var ctrls = _loc2_.m_toolbarMC.controls_mc; ctrls.currPg_mc.currPg_txt.text = pageNum_i; var stateChanged = false; var _loc3_ = pageNum_i < _loc2_.m_mainView.getNumPages(); var enablePrevPage = pageNum_i > 1; var _loc1_ = ctrls.prevNext_mc; if(_loc1_.nextPg_mc.getEnabled() != _loc3_) { _loc1_.nextPg_mc.setEnabled(_loc3_); _loc1_.nextPg_mc._accProps.silent = !_loc3_; _loc2_.m_mainView.setMCHiddenAccButtonAvailable(_loc2_.m_toolbarMC.accessible_mc.nextPg_mc,_loc3_); stateChanged = true; } if(_loc1_.prevPg_mc.getEnabled() != enablePrevPage) { _loc1_.prevPg_mc.setEnabled(enablePrevPage); _loc1_.prevPg_mc._accProps.silent = !enablePrevPage; _loc2_.m_mainView.setMCHiddenAccButtonAvailable(_loc2_.m_toolbarMC.accessible_mc.prevPg_mc,enablePrevPage); stateChanged = true; } if(stateChanged) { Accessibility.updateProperties(); } } function internal_onDocumentLoaded() { this.m_toolbarMC.controls_mc.print_mc.setEnabled(true); } function onToolChanged(newtool) { var _loc1_ = this.m_toolbarMC.controls_mc; _loc1_.panTool_mc.setActive(newtool == "pan"); _loc1_.selectTool_mc.setActive(newtool == "select"); } function onEnableScrolling(flag) { this.m_toolbarMC.controls_mc.panTool_mc.setEnabled(flag); } function addToHiddenList(mcInstanceName) { var ctrls = this.m_toolbarMC.controls_mc; var _loc1_ = ctrls[mcInstanceName]; var _loc3_ = this.m_mainView.getLanguageObject(); var _loc2_ = this.m_mainMC.hiddenToolsList_mc; if(mcInstanceName == "prevNext_mc") { _loc2_.addItem(_loc1_.prevPg_mc.m_iconName,_loc3_[_loc1_.prevPg_mc.m_localName],_loc1_.prevPg_mc.m_clickHandler); _loc2_.addItem(_loc1_.nextPg_mc.m_iconName,_loc3_[_loc1_.nextPg_mc.m_localName],_loc1_.nextPg_mc.m_clickHandler); } else if(mcInstanceName == "fitWidth_mc") { _loc2_.addDivider(); _loc2_.addItem(_loc1_.m_iconName,_loc3_[_loc1_.m_localName],_loc1_.m_clickHandler); } else if(mcInstanceName == "fitPage_mc") { _loc2_.addItem(_loc1_.m_iconName,_loc3_[_loc1_.m_localName],_loc1_.m_clickHandler); } else if(mcInstanceName == "zoom_sld") { _loc2_.addDivider(); _loc2_.addItem(FlashPaper.ToolbarView.ICON_ZOOM_IN,_loc3_.ZOOM_IN,"zoomIn"); _loc2_.addItem(FlashPaper.ToolbarView.ICON_ZOOM_OUT,_loc3_.ZOOM_OUT,"zoomOut"); } else if(mcInstanceName == "print_mc") { _loc2_.addDivider(); _loc2_.addItem(_loc1_.m_iconName,_loc3_[_loc1_.m_localName],_loc1_.m_clickHandler); } } function removeFromHiddenList(mcInstanceName) { var _loc2_ = mcInstanceName; var _loc1_ = this.m_mainMC.hiddenToolsList_mc; if(_loc2_ == "print_mc") { _loc1_.removeItem(); _loc1_.removeDivider(); } else if(_loc2_ == "zoom_sld") { _loc1_.removeItem(); _loc1_.removeItem(); _loc1_.removeDivider(); } else if(_loc2_ == "fitPage_mc") { _loc1_.removeItem(); } else if(_loc2_ == "fitWidth_mc") { _loc1_.removeItem(); _loc1_.removeDivider(); } else if(_loc2_ == "prevNext_mc") { _loc1_.removeItem(); _loc1_.removeItem(); } } }